iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
0
Google Developers Machine Learning

ML Study Jam -機器學習系列 第 16

Day 16 Estimator API part 2 (Estimator API 第二彈)

  • 分享至 

  • xImage
  •  

Intro to TensorFlow

Estimator API part 2

Lab Solution: Creating a distributed training TensorFlow model with Estimator API

今天最主要談論的問題是利用Estimator API創建分散式的訓練(Lab Solution: Creating a distributed training TensorFlow model with Estimator API),會使用estimator.train_and_evaluate同時觀察驗證指標的重要性;一樣先創建notebooks接著切換至training-data-analyst > courses > machine_learning > deepdive > 03_tensorflow > labs 打開d_traineval.ipynb,開始進行實驗。

  1. 首先引入函式庫,接著將資料輸入以及定義特徵,這邊就不在重複,上一篇有完整的解析。

  2. 如果是利用JSON的方法輸入資料

    • 需使用serving input function的方法來取得資料,此方法是為了以利以後做開發。

https://ithelp.ithome.com.tw/upload/images/20190916/20120289m0Dgy04nak.png

  1. 接著先定義使用的estimator是甚麼這邊使用的是LinearRegressor,所以輸出會是連續性的數值
    • 接著利用TrainSpec讀取訓練資料
    • 使用LatestExporter語法能在往後有資料從外部輸入轉成所需特徵或是要被外部所使用的資料
    • 利用EvalSpec讀取valid dataset,同時設定相關參數。

https://ithelp.ithome.com.tw/upload/images/20190916/20120289SzdXMi8ZrQ.png

  1. 開始訓練後,可以到File > New Launcher選擇TensorBoard就可以在訓練過程中看到即時反應loss的變化
    • 這功能非常的有用,比起一般訓練要在最後再用plt來print出完整圖形,此功能更加快速來檢驗訓練過程是否正確

https://ithelp.ithome.com.tw/upload/images/20190916/201202892p5SCHvAyN.png

https://ithelp.ithome.com.tw/upload/images/20190916/20120289DCAfNcQIA7.jpg


講了這麼多實驗相信大家也聽到頭昏眼花了吧,這邊就幫大家整理出來,是常見的問題以解決方法,若是以後遇到相關的問題,可以參考這些方式來做調整。

問題 解決方式
超出記憶體的資料 Dataset API
想要做分散式架構 train_and_evaluate
需要驗證在訓練當中 train_and_evaluate + TensorBoard
需要部署至其他地方 serving input function

Deployments that scale

而在實驗中沒有仔細講到Deployments that scale這個問題,所以在這邊特別提及一下,我們都知道左邊是我們一般訓練的流程,但今天如果是serve接收檔案,資料不可能那麼完美,大多是使用JSON的格式來讀取資料,那就會有一個問題了,我麼知道特徵跟答案之間的區別;這邊estimator提供一種方法來解析export.ServingInputReceiver (features,json),透過上述方法可以回傳所需的特徵與答案,只要透過estimator.LatestExporter呼叫就能解析JSON檔案,我們就能夠與serve串接的方式進行線上預測的方法。

https://ithelp.ithome.com.tw/upload/images/20190916/20120289AopTr213Tb.png

※圖片參考至 Intro to TensorFlow resource


上一篇
Day 15 Estimator API part 1 (來試試TensorFlow內的Estimator API)
下一篇
Day 17 Scaling TensorFlow models (拓展我們的模型吧)
系列文
ML Study Jam -機器學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言